﻿// (c) Comkarl Calipso
// By Matías Fidemraizer (http://www.matiasfidemraizer.com)
// -------------------------------------------------
// http://calipso.codeplex.com
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

(function () {
    "use strict";

    /*
        Represents current Page context.
    */
    $namespace.using("comkarl.web", function (web) {
        web.declareClass("PageContext", {
            ctor: function () {
                this._.manager = new web.PageManager();
            },
            members: {
                get manager() {
                    return this._.manager;
                },

                htmlDecode: function (text) {
                    return $("<div />").html(text).text();
                },

                getQueryStringParameter: function (paramName) {
                    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                    var regexS = "[\\?&]" + paramName + "=([^&#]*)";
                    var regex = new RegExp(regexS);
                    var results = regex.exec(window.location.search);
                    if (results == null)
                        return "";
                    else
                        return decodeURIComponent(results[1].replace(/\+/g, " "));
                },
            }
        });
    });
})();

var $calipso$context = new $global.comkarl.web.PageContext();
var $calipso$manager = $calipso$context.manager;